技术经验 • dingxiao • 阅读数:3914 • 2019年11月20日 12:57
在pi上运行javafx是我每次对新pi必做的功能测试,当然pi4也不例外。
在开始操作前,查询了相关移植的资料,发现在pi4上成功运行javafx的教程和经验都极少,只有一篇关于openjdk在pi4上运行video的资料可以参考,该资料地址:https://bell-sw.com/announcements/2019/09/12/JDK-JavaFX-Video-Preview/。
按照上述方法,我没有成功,并且重启pi后会卡死,并提示memory锁死,故该方法放弃。
回想PI3 B+运行javafx方法,冥冥之中感觉有一定的借鉴作用,故查看PI3 B+运行的方法,参考方法地址为:https://wimdeblauwe.wordpress.com/2017/08/26/using-javafx-on-raspberry-pi-3-with-gluon/。
具体方法分为两个部分
安装java
安装javafx
实际环境操作时如图:
安装java
通过ftp上传至pi4,并解压,形成两个目录为jdk1.8.0_231和armv6hf-sdk。
修改linux中java的环境变量,在命令行中:sudo nano /etc/profile 对环境变量进行设置,在profile最后插入export PATH=/home/pi/dx/Java/jdk1.8.0_231/bin:$PATH 保存退出
然后进行source /etc/profile 对环境变量生效,通过java –version 进行版本查看。
安装javafx
将armv6hf-sdk中的优化文件copy至java文件中,这样就完成了javafx的安装。
sudo cp armv6hf-sdk/rt/lib/ext/jfxrt.jar /home/pi/dx/Java/jdk1.8.0_231/jre/lib/ext/
sudo cp armv6hf-sdk/rt/lib/arm/* /home/pi/dx/Java/jdk1.8.0_231/jre/lib/arm/
sudo cp armv6hf-sdk/rt/lib/javafx.platform.properties /home/pi/dx/Java/jdk1.8.0_231/jre/lib/
sudo cp armv6hf-sdk/rt/lib/javafx.properties /home/pi/dx/Java/jdk1.8.0_231/jre/lib/
sudo cp armv6hf-sdk/rt/lib/jfxswt.jar /home/pi/dx/Java/jdk1.8.0_231/jre/lib/
上述为在PI4上javafx的环境,其中jdk1.8.0_231是基本java环境,armv6hf-sdk(armv6hf-sdk-8.60.12)是javafx针对arm平台的优化包。
运行脚本命令
安装已有经验,修改Rec文件夹下的runfxapp和runfxapp_touch两个脚本文件,但通过该方法均不能成功运行javafx,提示:
运行java命令
sudo java -jar Servo_Handle.jar
运行在命令行下的java命令
java -jar Servo_Handle.jar
上述命令必须将PI4切换至命令模式下运行,才能正常运行javafx程序。
上述方法运行javafx程序还是有一定缺陷的,后台会提示无权操作输入设备的警告。